package com.sxj.corejava.code06_数组;

/**
 * @author 石小俊
 * 2024年07月10日 14:41
 */
public class Test01_基本用法 {

    public static void main(String[] args) {
        //  定义方式一
        // 数据类型[] 变量名 = new 数据类型[长度]
        // 长度:表示数组中元素的数量
        int[] nums = new int[4];
        // 定义了数组之后,会自动会所有的元素设置一个默认值
        // 不同数据类型的元素默认值也不同
        System.out.println(nums[0]);
        System.out.println(nums[1]);
        System.out.println(nums[2]);
        System.out.println(nums[3]);
        // 由于数组长度为4,其下标的值是0-3,当下标超出范围之后会报错
        // ArrayIndexOutOfBoundsException:数组下标越界
        //System.out.println(nums[4]);

        String[] names = new String[3];
        System.out.println(names[0]);

        double[] ds = new double[3];
        System.out.println(ds[0]);

        char[] cs = new char[3];
        System.out.println(cs[0]);

        boolean[] bs = new boolean[3];
        System.out.println(bs[0]);

        nums[0] = 1;
        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        for (int i = 0; i < 4; i++) {
            System.out.println(nums[i]);
        }

        System.out.println("数组长度:" + nums.length);


        // 定义方式二:非主流定义方式
        // 该方式是为了适应C语言程序员的习惯
        // 数据类型 变量名[] = new 数据类型[长度]
        String hobbies[] = new String[4];
        hobbies[0] = "吃饭";
        System.out.println(hobbies[0]);

        // 定义方式三:可以在声明的同时为数组元素赋值
        int[] values = new int[]{1, 2, 3, 4, 5};
        for (int i = 0; i < values.length; i++) {
            System.out.println(values[i]);
        }

        // 方式三简写方式
        String[] hobbies2 = {"吃饭", "睡觉", "打豆豆"};
        for (int i = 0; i < hobbies2.length; i++) {
            System.out.println(hobbies2[i]);
        }

    }

}
